package T5;

import java.util.Objects;

//请按以下要求顺序编码：
//        1. 定义学生类Student，属性：姓名、性别、年龄
//        2. 定义测试类，及main()方法
//        3. 创建三个Student对象，分别设置以下数据：
//        张三,男,20
//        李四,女,21
//        张三,男,20
//        4. 定义一个存储Student类型的HashSet集合，将上述三个对象存储到Set集合中，要求集合中不能存储姓名,性别,年龄相同的元素。
//        5. 使用增强for遍历集合，获取集合中每个Student对象，并打印属性值；
public class Student {
    private String name;
    private String sex;
    private int age;

    @Override
    public String toString() {
        return "Student{" +
                "姓名：" + name +
                ", 性别：" + sex +
                ", 年龄：" + age +
                '}';
    }

    public Student() {
    }

    public Student(String name, String sex, int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Student student = (Student) o;
        return age == student.age &&
                Objects.equals(name, student.name) &&
                Objects.equals(sex, student.sex);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, sex, age);
    }
}
